#include <iostream>
#include<vector>
#include <cmath>
#include <string>
#include<numeric>
// 通过c++在只使用标准库的条件下精确的计算2的200次方
int main() {//最多可计算2的1023次方
    std::string s=std::to_string(std::pow(2, 1023));
    std::cout<<s.substr(0,s.length()-7)<<std::endl;
    return 0;
}
// int main() {//数组模拟法
//     // 初始化数组，用于存储2的幂次方的结果
//     std::vector<int> result(201, 0); // 201个元素，因为2^200最多有201位数字
//     result[0] = 1; // 2^0 = 1，作为乘法的起始值
//     // 计算2的200次方
//     for (int i = 1; i <= 200; ++i) {
//         int carry = 0; // 进位
//         for (int & j : result) {
//             int product = j * 2 + carry; // 计算当前位的乘积和进位
//             j = product % 10; // 取当前位的数字
//             carry = product / 10; // 更新进位
//         }
//     }
//     // 输出结果
//     bool leading_zero = true; // 用于跳过前导零
//     for (int i = result.size() - 1; i >= 0; --i) {
//         if (result[i] != 0 || !leading_zero) {
//             std::cout << result[i];
//             leading_zero = false;
//         }
//     }
//     return 0;
// }